package com.itheima.array;

/**
 * 快排 代码
 */
public class QuickSort {

    public static void main(String[] args) {
        int[] arr={88,99,55,11,44,88};
        quickSort(arr,0,5);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }


    //定义方法  排一次
    //参数   数组   开始位置 ,  结束位置
    // 返回值void
    public static void  quickSort(int[] arr, int begin, int end){
        //1. 保存原始的其实和终止 索引数
        int beginYuanshi=begin;
        int endYuanshi=end;
        //2.保存基准数
        int jizhunshu=arr[beginYuanshi];
        //找基准数的位置
        while(begin!=end){//while条件是  符合条件进入循环
            //找比我小的
            while(arr[end]>= jizhunshu&& begin<end){
                end--;
            }
            //找比我大的
            while(arr[begin]<=jizhunshu&& begin<end){
                begin++;
            }
            //交换 左边和右边当前的数字
            // arr[begin]  arr[end]
            int temp=arr[begin];
            arr[begin]=arr[end];
            arr[end]=temp;
        }
        // arr[begin]  arr[beginYuanshi]
        int temp= arr[begin];
        arr[begin]=arr[beginYuanshi];
        arr[beginYuanshi]=temp;

    }
}
